Disk player which avoids sound failure resulted from retry of data reading

ABSTRACT

A disk player reads data read from a disk after temporary storage in a memory and outputs the read data and is capable of preventing the memory from becoming empty by a retry operation for reading data, thereby avoiding a sound failure. When an address whose data is not correctly readable is present on a disk, the address information of that address is stored, and when the same disk is played again, the data reading operation for the new address is performed before the amount of remaining data in the memory becomes too small at the time the next reading address is address whose data is unreadable based on the address information. When at least the same disk is played again, therefore, the memory may not become empty, thus preventing a sound failure from occurring.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a disk player which plays disks such asa mini disk (MD) and a compact disk (CD).

2. Description of Background Information

For disks on which digital audio data is recorded, conventional minidisk players are configured to write temporarily, in a playback mode,data read by the pickup, into a memory via an EFM (Eight to FourteenModulation) decoder, and then reads the data written in the memory inthe writing order at a speed slower than the writing speed. The readdata is sent through an audio compression decoder and a D/A(Digital/Analog) converter to be output as an analog audio signal. Theaddress of each sector on a disk like a mini disk is written at theheader portion in that sector, and data is read sector by sector, whichis a unit of data block, in accordance with the addresses, i.e., data isread address by address. The data in the memory which has been read isto be erased.

When data cannot be read from a disk or read data is in error, thereading operation is performed again or a retry operation is executedstarting at the address whose data has not been correctly read. Unlesscorrect data is written in the memory, this retry operation continuesuntil the amount of remaining data already written in the memory becomesequal to or smaller than a given value.

When the amount of remaining data in the memory becomes equal to orsmaller than the given value, the retry operation is stopped and a newdata reading operation is executed at the next address whose data isreadable.

FIG. 1 illustrates such a reading operation in the form of a controlflowchart for a system controller in a mini disk player. The systemcontroller instructs the reading of data at an address N on a disk (stepS1) and determines if this data reading operation has been carried out(step S2). When the data reading operation has been executed, the systemcontroller determines if the data read from the disk (or the read data)is correct (step S3). Since the EFM decoder detects an error in the readdata by the CIRC (Cross Interleave Reed-Solomon Code), the systemcontroller can determine if the read data is correct from the result ofthat detection. When the read data is correct, the system controllerinstructs the writing of the read data into the memory (step S4), anddetermines if a program to be played back has been completed (step S5).When the program to be played back has not ended, the address N on thedisk is incremented by "1" and the resultant address is set as a newaddress N (step S6) after which the flow returns to step S1. When theprogram to be played back has ended, this routine is terminated.

The instruction to read data at the address N in step S1 is associatedwith the amount of remaining data in the memory. When data which isequal to or greater in amount than a predetermined value A has not beenread into the memory and there is therefore some data remaining in thememory, the control by the system controller is in a pause mode. Whenthe amount of remaining data becomes equal to or smaller than apredetermined value B (A>B), the pause mode is released and the datareading operation is to be actually instructed.

When it is determined in step S2 that the data reading operation has notbeen executed, the system controller determines if the amount ofremaining data in the memory is equal to or greater than a predeterminedvalue X (B>X) (step S7). When the read data is determined to be in errorin step S3, the flow also proceeds to step S7. When the amount ofremaining data in the memory is equal to or greater than thepredetermined value X in step S7, the system controller allows thepickup to search for the address N (step S8), and then the processingreturns to step S1 to read data at the address N. When the amount ofremaining data in the memory is smaller than the predetermined value X,on the other hand, the system controller causes the pickup to jump theaddresses to search for an address whose data is readable (step S9), andsets this address as the address N (step S10) after which the systemcontroller returns to step S1.

The part (a) in FIG. 2 indicates the data recorded positions that arespecified by addresses N-2, N-1, N, . . . , and N+m on a disk. In theillustrated case, correct data is not readable in the range from theaddress N to the address N+m-. The part (b) in FIG. 2 indicates thechronological flow of the operation by the pickup to access at the datarecorded positions in the part (a) in FIG. 2 in accordance with theoperation illustrated in FIG. 1.

FIG. 3 shows the relationship between the chronological operational flowillustrated in FIG. 2 and the amount of remaining data in the memory.After a pause mode b is released at an earlier address than the addressN-2, a data reading operation a is performed up to the address N-2. Whendata accumulated amounts to the predetermined value A which is close tothe memory capacity, no further data can be written in the memory sothat the disk player enters the pause mode. When the amount of data inthe memory is reduced to the predetermined value B, the data readingoperation starts again. After the data reading operation for the addressN-2 is completed, the pause mode b is temporarily started and then thedata reading operation starts again. When the data read position reachesthe address N, the reading operation cannot be performed properly sothat the address N is detected by a searching operation c after whichthe reading operation a for the address N starts again. If the data atthe address N is not actually readable, a retry operation is performedto repeat the data reading operation a and the searching operation c.When the amount of remaining data in the memory becomes smaller than thepredetermined value X, the reading operation a for the address N isinterrupted and a jumping operation d takes place to search out anaddress whose data is readable. When the address N+m is detected as theaddress whose data is readable as illustrated, the data readingoperation a starts.

When the amount of remaining data in the memory becomes smaller in theretry operation and some cause like vibration occurs to inhibit thereading operation then, this conventional mini disk player cannot readthe address whose data is actually readable, before the memory becomesempty. This results in a sound failure, causing an unpleasant listeningcondition. This problem is not inherent to mini disk players alone, butit is rather common to the other conventional disk players including acompact disk player, which have a memory for temporary storage of dataread from a disk by the pickup in a playback mode and execute a retryoperation when data reading is failed.

OBJECTS AND SUMMARY OF THE INVENTION

Accordingly, it is a primary objective of the present invention toprovide a disk player capable of preventing a memory from becoming emptyby a retry operation to read data, thereby avoiding a sound failure.

According to one aspect of this invention, there is provided a diskplayer which comprises:

reading means for reading data, recorded on a disk, for eachpredetermined block affixed with address information;

a memory for storing data read by the reading means;

memory control means for writing data into the memory when the data iscorrectly read, block by block, from the disk by the reading means, and,upon incorrect reading of data, inhibiting writing of the data into thememory and reading data from the memory at a speed slower than a writingspeed;

means for detecting an amount of data still remaining in the memoryafter being written therein;

read control means for controlling the reading means in such a way as toread again data which has not been read correctly when the amount ofremaining data is equal to or greater than a first predetermined value,and controlling the reading means in such a way as to read data at a newaddress when the amount of remaining data becomes smaller than the firstpredetermined value; and

means for determining if it is a first playback for the disk,

the read control means including,

means for storing, as an error data address, address information fordata which has not been read correctly before the amount of remainingdata becomes smaller than the first predetermined value when it is thefirst playback, and

means for controlling the reading means in such a way as to read againdata which has not been read correctly in a different playback from thefirst playback, when an address whose data has not been read correctlyis equal to the error data address stored at a time of the firstplayback and the amount of remaining data is equal to or greater than asecond predetermined value larger than the first predetermined value,and controlling the reading means in such a way as to read data at a newaddress when the amount of remaining data becomes smaller than thesecond predetermined value.

A disk player according to another aspect of this invention comprises:

reading means for reading data, recorded on a disk, for eachpredetermined block affixed with address information;

a memory for storing data read by the reading means;

memory control means for writing data into the memory when the data iscorrectly read, block by block, from the disk by the reading means, and,upon incorrect reading of data, inhibiting writing of the data into thememory, and reading data from the memory at a speed slower than awriting speed;

means for detecting an amount of data still remaining in the memoryafter being written therein;

read control means for controlling the reading means in such a way as toread again data which has not been read correctly when the amount ofremaining data is equal to or greater than a predetermined value, andcontrolling the reading means in such a way as to read data at a newaddress when the amount of remaining data becomes smaller than thepredetermined value; and

means for determining if it is a first playback for the disk,

the read control means including,

means for storing address information for data which has not been readcorrectly before the amount of remaining data becomes smaller than thepredetermined value when it is the first playback,

means for determining if next data is correctly readable based on theaddress information in a different playback from the first playback, and

means for controlling the reading means in such a way as to read data ata new address without reading the next data when the next data has notbeen determined as being correctly readable.

According to the first aspect of this invention, when there is anyaddress whose data cannot be correctly read on a disk, the readingoperation is repeated until data for that address can be read correctlyas long as the amount of remaining data in the memory is equal to orgreater than a first predetermined value, and if the data cannot stillbe read correctly even after that, the address information of the datawhich cannot be read correctly is memorized. When the same disk isplayed again, at the time data at the next reading address is determinedas being unreadable based on the address information, the readingoperation is repeated until data for that address can be read correctlyas long as the amount of remaining data in the memory is equal to orgreater than a second predetermined value larger than the firstpredetermined value. If the data cannot still be read correctly evenafter that, the control proceeds to an operation for reading data at anew address.

According to the second aspect of this invention, when there is anyaddress whose data cannot be correctly read on a disk, the readingoperation is repeated until data for that address can be read correctlyas long as the amount of remaining data in the memory is equal to orgreater than a predetermined value, and if the data cannot still be readcorrectly even after that, the address information of the data whichcannot be read correctly is memorized. When the same disk is playedagain, at the time data at the next reading address is determined asbeing unreadable based on the address information, the operation forreading data at the next reading address reading operation is notperformed and the control proceeds to an operation for reading data at anew address.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart for the conventional data read control operation;

FIG. 2 is a diagram showing one example of the control operation in FIG.1;

FIG. 3 is a diagram showing a change in the amount of remaining data ina memory in the operational example in FIG. 2;

FIG. 4 is a block diagram showing one embodiment of this invention;

FIG. 5 is a flowchart for a data read control operation which isexecuted by a system controller in a player in FIG. 4;

FIG. 6 is a diagram exemplifying the control operation in FIG. 5;

FIG. 7 is a diagram showing a change in the amount of remaining data inthe memory in the operational example in FIG. 5;

FIG. 8 is a flowchart for a data read control operation according toanother embodiment, which is executed by the system controller in theplayer in FIG. 4;

FIG. 9 is a diagram exemplifying the control operation in FIG. 8; and

FIG. 10 is a diagram showing a change in the amount of remaining data inthe memory in the operational example in FIG. 9.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be now describedwith reference to the accompanying drawings.

A mini disk player shown in FIG. 4 has an optical pickup 2 to read datarecorded on a disk 1. The read signal is supplied via an RF amplifier 3to an EFM decoder 4. The EFM decoder 4 corrects an error in the readsignal by a CIRC technique, performs EFM demodulation on the correctedread signal and sends the resultant signal to a memory controller 5. Thememory controller 5 controls the data writing and reading with respectto a memory 6, constituted of a RAM (Random Access Memory). The memory 6has a capacity of, for example, 4 Mbits, and is accessed at a writingspeed of 1.4 Mbit/sec and at a reading speed of 0.3 Mbit/sec, slowerthan the writing speed. The read data is erased from the memory 6. Dataread from the memory controller 5 is supplied to an audio compressiondecoder 7. This decoder 7 serves to demodulate a digital audio signalwhich has been recorded in a compressed fashion by an audio compressiontechnique called ATRAC (Adaptive TRansform Acoustic Coding). The digitalaudio signal obtained by the audio compression decoder 7 is converted bya D/A (Digital/Analog) converter 8 to an analog audio signal which is inturn output.

The EFM decoder 4 and the memory controller 5 are controlled by a systemcontroller 9 constituted of a microcomputer. The system controller 9also controls a servo circuit 10, which performs various servo controlssuch as spindle servo, tracking servo, focus servo and carriage servo.The servo circuit 10 obtains a servo signal from the read signal fromthe RF amplifier 3 to control the reading position and focusing of thepickup 2 and the rotational speed of a spindle motor 11. The spindlemotor 11 rotates the disk 1.

A description will be now given of the operation for reading data fromthe disk 1 by this mini disk player in a playback mode. The systemcontroller 9 instructs the reading of data at an address N on the disk 1(step S11) and determines if this data reading operation has beenexecuted (step S12) as illustrated in FIG. 5. When the data readingoperation has been executed, the system controller 9 determines if theread data is correct (step S13). When the read data is correct, thesystem controller 9 instructs the memory controller 5 to write the readdata into the memory 6 (step S14). The memory controller 5 writes theread data into the memory 6 in accordance with the writing instructionfrom the system controller 9. Then, the memory controller 5 determinesif a program to be played back has ended (step S15). When the program tobe played back has not ended, the address N on the disk 1 is incrementedby "1" and the resultant address is set as a new address N (step S16)after which the flow returns to step S11. When the program to be playedback has ended, this routine is terminated. The operation up to thispoint is the same as that of the conventional player shown in FIG. 1.

When it is determined in step S12 that the data reading operation hasnot been executed or it is determined in step S13 that the read data isin error, the system controller 9 determines if it is the first playbackto the disk 1 (step S17). When the disk is played for the first timeafter being placed on the turntable (not shown), it is the firstplayback. When the same disk is played again and again while remainingon the disk, the playback is not the first playback. This can be checkedby determining whether the disk to be played is the same or is changedfrom the TOC (Table Of Contents) recorded on the disk. In the firstplayback, it is determined if the amount of remaining data in the memory6 is equal to or greater than a predetermined value X (step S18). Whenthe amount of remaining data in the memory 6 is equal to or greater thanthe predetermined value X, the system controller 9 allows the pickup 2to search for the address N (step S19), and then operation returns tostep S11 to read data at the address N. When the amount of remainingdata in the memory 6 is smaller than the predetermined value X, on theother hand, the address N whose data cannot be read correctly is storedas Ax (step S20). That is, Ax is written in a memory (not shown) in thesystem controller 9. Then, the system controller 9 causes the pickup 2to jump the addresses to search for an address whose data is readable(step S21), stores the address N+m whose data is readable as Bx (stepS22), and sets this address as the address N (step S23). After that, theprocessing returns to step S11.

When it is not determined in step S17 that the current playback is thefirst playback, i.e., when it is determined that the current playback isthe second playback or any later playback, it is determined if thecurrent read address N is identical to Ax (step S24). When N ≠Ax, theaddress N whose data has not been read correctly this time is not theaddress whose data could not be read correctly in the first playback, sothat the flow proceeds to step S18. When N=Ax, on the other hand, theaddress N whose data has not been read correctly this time is theaddress whose data could not be also read correctly in the firstplayback. In this case, it is determined if the amount of remaining datain the memory 6 is equal to or greater than a predetermined value Y(step S25). The predetermined value Y is greater than the predeterminedvalue X. When it is determined that the amount of remaining data in thememory 6 is equal to or greater than the predetermined value Y, thesystem controller 9 proceeds to step S19 to allow the pickup 2 to searchfor the address N on the disk. After this, the system controller 9returns its procedure to step S11 to read data at the address N. When itis determined that the amount of remaining data in the memory 6 issmaller than the predetermined value Y, however, the system controller 9causes the pickup 2 to jump the addresses to search for the address Bxthat has been stored in step S22 (step S26). In other words, the addressportion whose data is not readable is jumped and data at the address Bxwhose data is readable is read out in step S11.

The part (a) in FIG. 6 indicates the data recorded positions that arespecified by addresses N-2, N-1, N, . . . , and N+m on a disk. In thiscase, as in the case of the part (a) in FIG. 2, correct data is notreadable in the range from the address N to the address N+m-1. The part(b) in FIG. 6 indicates the chronological flow of the operation by thepickup 2 to access at the data recorded positions in the part (a) inFIG. 6 in accordance with the operation illustrated in FIG. 5. FIG. 7shows the relationship between the chronological operational flow in thefirst playback and the second and later playbacks illustrated in FIG. 6and the amount of remaining data in the memory 6. The operation in thefirst playback is the same as the one shown in the part (b) in FIG. 2and FIG. 3. After a pause mode b is released at an earlier address thanthe address N-2, a data reading operation a is performed up to theaddress N-2. When data accumulated amounts to a predetermined value Awhich is close to the memory capacity of the memory 6, no further datacan be written in the memory 6 so that the disk player enters the pausemode. When the amount of data in the memory 6 is reduced to apredetermined value B, the data reading operation starts again. Afterthe reading of the data at the address N-2 is finished, the operationtemporarily becomes the pause mode b and the data reading operation astarts again. When the data read position reaches the address N, thereading operation cannot be performed properly so that the address N isdetected by a searching operation c after which the reading operation afor the address N starts again. If the data at the address N is actuallyunreadable, a retry operation is performed to repeat the data readingoperation a and the searching operation c as indicated by the brokenlines in the part (b) in FIG. 6. When the amount of remaining data inthe memory 6 becomes smaller than the predetermined value X, thisaddress N is stored as Ax, the reading operation a for the address N isinterrupted and a jumping operation d takes place to search out anaddress whose data is readable. When the address N+m is detected as theaddress whose data is readable, this address is stored as the address Bxand the data reading operation a starts.

In the case where data at the address N cannot be read correctly in thesecond playback, when the amount of remaining data in the memory 6 isequal to or greater than the predetermined value Y, the retry operationis performed. When the amount of remaining data in the memory 6 issmaller than the predetermined value Y, on the other hand, the controlproceeds to an operation for reading data at the address Bx withoutexecuting a retry operation for the address N.

In the first playback indicated by the broken line in FIG. 7, if theamount of remaining data in the memory 6 becomes smaller than thepredetermined value X and the address N+m whose data is readable cannotbe detected quickly, no data may not be left in the memory 6. In thesecond playback and later playbacks indicated by the solid lines, theamount of remaining data in the memory 6 never becomes smaller than thepredetermined value X.

FIG. 8 shows another operation of the system controller 9 as anotherembodiment of this invention. In this embodiment, steps S31 to S32 arethe same as the aforementioned steps S1 to S3. When it is determined instep S33 that the read data is correct, the writing of the read data inthe memory 6 is instructed by the memory controller 5 (step S34) and itis then determined if the playback of the disk 1 is the first playback(step S35). When it is the first playback, the system controller 9determines if the program to be played back has been ended (step S36).When the program to be played back has not been ended, the address N onthe disk is incremented by "1" and the resultant address is set as a newaddress N (step S37) after which the flow returns to step S31. When theprogram to be played back is finished, this routine is terminated.

When it is determined in step S32 that the data reading operation hasnot been performed, it is determined if the amount of remaining data inthe memory 6 is equal to or greater than the predetermined value X (stepS38). When the read data is determined as being in error in step S33,the flow also proceeds to step S38. When it is determined in step S38that the amount of remaining data in the memory 6 is equal to or greaterthan the predetermined value X, the system controller 9 allows thepickup 2 to search for the address N (step S39), and then returns tostep S31 to read data at the address N.

When it is determined in step S38 that the amount of remaining data inthe memory 6 is equal to or smaller than the predetermined value X, theaddress N-1 which is one address previous to the current address N isstored as Ax (step S40), and then the system controller 9 causes thepickup 2 to jump the addresses to search for an address whose data isreadable (step S41). Thereafter, the address whose data is readable isstored as Bx (step S42), and the address is set as the address N (stepS43) after which the processing returns to step S31.

When it is determined in step S35 that the current playback is thesecond playback or a later playback, it is determined if the readaddress N is the same as Ax (step S44). When N≠Ax, the flow proceeds tostep S36. When N=Ax, on the other hand, the system controller 9 allowsthe pickup 2 to search for the address Bx on the disk (step S45). Then,the system controller 9 sets the address Bx as a new address N (stepS46) after which the flow proceeds to step S31.

Like the part (a) in FIG. 2 and the part (a) in FIG. 6, the part (a) inFIG. 9 indicates the data recorded positions that are specified byaddresses N-2, N-1, N, . . . , and N+m on a disk. In this case, correctdata is not readable in the range from the address N to the addressN+m-1. The part (b) and the part (c) in FIG. 9 respectively indicate thechronological flows of the operation by the pickup 2 to access at thedata recorded positions in the part (a) in FIG. 9 at the time of thefirst playback and at the time of the second playback or a laterplayback, in accordance with the operation illustrated in FIG. 8. FIG.10 shows the relationship between the chronological operational flows inthe first playback and the second playback or a later playbackillustrated in FIG. 9 and the amount of remaining data in the memory 6.The operation in the first playback is the same as the one shown in thepart (b) in FIG. 2 and FIG. 3 or the part (b) in FIG. 6 and FIG. 7. Whenthe reading of data at the address N-1 is ended in the second playbackor a later playback, the address N+m as the address Bx is detected bythe searching operation c. That is, no reading operation within theaddress range where correct data is unreadable is performed, and thedata reading operation a for the address N+m is initiated after thesearching operation for the address N+m is finished.

In the first playback indicated by the broken line in FIG. 10, if theamount of remaining data in the memory 6 becomes smaller than thepredetermined value X and the address N+m whose data is readable cannotbe detected quickly, no data may not be left in the memory 6. In thesecond playback and later playbacks indicated by the solid lines, theamount of remaining data in the memory 6 never becomes smaller than thepredetermined value B.

In the above-described embodiments, the amount of remaining data in thememory 6 may be obtained from the difference between the read address onthe disk and the read address from the memory 6.

Although the disk is not determined as having been played for the firsttime when the same disk is continuously played in those embodiments, thedisk may not be determined as having been played for the first time evenwhen this disk is temporarily removed from the disk player after beingplayed once and is loaded in the same disk player again to be playedback again. In this case, the address which causes a reading errorshould be stored until the next playback or semipermanently inassociation with the TOC on the disk.

Although the disk players of the above-described embodiments play minidisks, this invention may be adapted for any disk player which playsother disks like a compact disk, and reads data, read from a disk in aplayback mode by the pickup, after temporary storage into the memory.

According to the disk player embodying this invention, when an addresswhose data is not correctly readable is present on a disk, the addressinformation of that address is stored, and when the same disk is playedagain, the data reading operation for the new address is performedbefore the amount of remaining data in the memory becomes too small atthe time the next reading address is address whose data is readablebased on the address information. When at least the same disk is playedagain, therefore, the memory may not become empty, thus preventing asound failure from occurring.

What is claimed is:
 1. A disk player comprising:reading means forreading data, recorded on a disk, for each predetermined block affixedwith address information; a memory for storing data read by said readingmeans; memory control means for writing data into said memory when saiddata is correctly read, block by block, from said disk by said readingmeans, and, upon incorrect reading of data, inhibiting writing of saiddata into said memory and reading data from said memory at a speedslower than a writing speed; means for detecting an amount of data stillremaining in said memory after being written therein; read control meansfor controlling said reading means in such a way as to read again datawhich has not been read correctly when said amount of remaining data isequal to or greater than a first predetermined value, and controllingsaid reading means in such a way as to read data at a new address whensaid amount of remaining data becomes smaller than said firstpredetermined value; and means for determining if it is a first playbackfor said disk, said read control-means including,means for storing, asan error data address, address information for data which has not beenread correctly before said amount of remaining data becomes smaller thansaid first predetermined value when it is said first playback, and meansfor controlling said reading means in such a way as to read again datawhich has not been read correctly in a different playback from saidfirst playback, when an address whose data has not been read correctlyis equal to said error data address stored at a time of said firstplayback and said amount of remaining data is equal to or greater than asecond predetermined value larger than said first predetermined value,and controlling said reading means in such a way as to read data at anew address when said amount of remaining data becomes smaller than saidsecond predetermined value.
 2. The disk player according to claim 1,wherein said read control means stores an address of data which followsdata that has not been read correctly and which has been read correctly,as a correct data address in said first playback, and controls saidreading means in such a way as to read data at said correct data addressas data at said new address in a playback other than said firstplayback.
 3. A disk player comprising:reading means for reading data,recorded on a disk, for each predetermined block affixed with addressinformation; a memory for storing data read by said reading means;memory control means for writing data into said memory when said data iscorrectly read, block by block, from said disk by said reading means,and, upon incorrect reading of data, inhibiting writing of said datainto said memory, and reading data from said memory at a speed slowerthan a writing speed; means for detecting an amount of data stillremaining in said memory after being written therein; read control meansfor controlling said reading means in such a way as to read again datawhich has not been read correctly when said amount of remaining data isequal to or greater than a predetermined value, and controlling saidreading means in such a way as to read data at a new address when saidamount of remaining data becomes smaller than said predetermined value;and means for determining if it is a first playback for said disk, saidread control means including,means for storing address information fordata which has not been read correctly before said amount of remainingdata becomes smaller than said predetermined value when it is said firstplayback, means for determining if next data is correctly readable basedon said address information in a different playback from said firstplayback, and means for controlling said reading means in such a way asto read data at a new address without reading said next data when saidnext data has not been determined as having not been read correctly.